% !Mode:: "TeX:UTF-8"
%!TEX program  = xelatex

%\documentclass[bwprint]{cumcmthesis}
\documentclass[withoutpreface,bwprint]{cumcmthesis} %去掉封面与编号页
\usepackage{array}
\usepackage{bm}
\usepackage{float}
\usepackage{setspace}
\usepackage{palatino}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{url}
\usepackage{booktabs}
\usepackage{graphicx} 
\usepackage{caption}
\usepackage{diagbox}
\usepackage{multirow}
\usepackage{amsmath}
\title{机场的出租车问题}% 标题


\begin{document}

 \maketitle
 \begin{abstract}



\vspace{6cm}
\keywords{  ？？？最短路径\quad 多目标规划\quad  图论\quad  Python\quad   LINGO\quad  MATLAB  }
\end{abstract}


\section{问题重述}

\subsection{问题背景}
随着改革开放的不断深入发展，我国经济处于稳健增长之中，商务活动也相应较为活跃；同时人民生活水平的提高刺激了旅游业的发展，消费升级使得越来越多的人选择国内远程或出境旅行，而飞机作为商务旅客和游客的首选出行方式也因此愈发重要。同时出租车作为一种灵活性较好的交通工具，是乘客选择的主要离港交通工具之一。国内多数机场将出租车的上客点分为出发层和到达层，出租车司机将乘客送达机场后需面临两个选择：

$a)$ 前往到达层排队等候载客返回市区；

$b)$ 直接空载返回市区拉客。

若选择$a$方案，司机需按照“先来后到”原则进入指定的“蓄车池”排队等待载客，其等待时间受排队出租车以及乘客的数量决定，要付出一定时间成本。若选择$b$方案，司机则要付出空载费用和可能损失的潜在载客收益。其中某时间段抵达的航班数量和“蓄车池”里已有的车辆数是司机可以观测到的确定信息。


\subsection{问题提出}
根据以上背景和搜集到的数据，根据实际情况，建立数学模型拟解决以下问题：

$(1)$分析研究影响出租车司机决策的相关因素作用机理，综合考虑机场乘客数量的变化规律和出租车司机的收益，建立出租车司机选择决策模型，并给出司机的选择策略。

$(2)$通过收集国内某一机场及其所在城市出租车的相关数据，给出该机场出租车司机的选择方案，并分析模型的合理性和对相关因素的依赖性。


$(3)$在某些时候，经常会出现出租车排队载客和乘客排队乘车的情况。某机场“乘车区”现有两条并行车道，管理部门应如何设置“上车点”，并合理安排出租车和乘客，在保证车辆和乘客安全的条件下，使得总的乘车效率最高。


$(4)$机场的出租车载客收益与载客的行驶里程有关，乘客的目的地有远有近，出租车司机不能选择乘客和拒载，但允许出租车多次往返载客。管理部门拟对某些短途载客再次返回的出租车给予一定的“优先权”，使得这些出租车的收益尽量均衡，试给出一个可行的“优先”安排方案。

\section{问题分析}

\subsection{问题一分析}

问题一要求考虑现实中影响司机决策的相关因素以及这些因素具体作用的作用机理，在考虑乘客数量规模的变化与司机自身的收益下，建立决策模型给出司机选择策略。为了使模型更加贴近于现实生活，先就现实生活中对司机收益有影响和对乘客数量规模有影响的因素进行收集处理，筛选出影响较大的因素，并就这些因素组成0-1规划下的决策模型，用0代表司机选择留在机场侯客，用1表示司机返回市区工作。用司机的成本转化率作为量化指标，讨论在0和1两种情况下的成本转化率，从而建立基于成本转化率的决策模型，选取其中最高的一种选项作为司机的最终决策。

\subsection{问题二分析}

问题二在第一问的模型下，收集国内某一机场以及所在的城市的出租车的相关数据，基于所获得的数据给出具体的司机决策方案，并就此分析模型的合理性以及对相关因素的依赖性。获取上海虹桥机场的航班数据以及上海当地的出租车的运营状况。将获得的数据进行筛选清洗和相关处理，在第一问建立的基于成本转化率的决策模型中导入相关数值，从而可以给出具体的决策方案，再对相关影响因素进行灵敏度分析，具体分析每种影响因素对于司机的决策所产生的影响，在此基础上分析模型在上海应用的合理性。


\subsection{问题三分析}

问题三要求设置一个基于考虑乘客和车辆安全的“上车点”解决方案， 要求使得乘车尽量的高。 并给出实际的应用场景场景为具有两条并行道航站楼“乘车区”。 为了解决这样的问题， 我们首先需要提出适合机场的实际应用场景的相关方案， 在并行道的功能分配、 “上车点”的数量设置上都需要有相应的解决方案。 由此需要了解相关建设的解决方案， 并结合实际给出相关的仿真模型。 接着还需要对每一个解决方案进行评价， 这就要求我们将乘车效率抽象为数值来衡量每一个方案的效率高低， 来从提出的方案中挑选出最优的解决方案。 解决这个问题， 就需要我们对已有的相关应用场景的参数进行处理， 并建立一个面向乘车效率的效率评价模型。 最后， 还需要应用交通仿真的方法对每一种方案的实际应用场景进行实际模拟， 并结合效率评价， 最终便可以得到“上车点”的数量、 乘客和出租车配置的最佳安排方案。


\subsection{问题四分析}

问题四中提出乘客的目的地可能是短途也有可能是长途，对于短途的情况，出租车的收益会有所降低，为了给平衡出租车之间的收益情况，建立一个可行的“优先”安排方案。使得司机间的收益尽可能均衡。对此本文按照司机一天的工作情况进行了仿真模拟，并用不同司机间的收益形成的标准差作为是否均衡的评判标准。先考虑在没有优先安排方案前得到司机收益情况仿真，再提出新的方案进行仿真，如标准差小于无安排方案的司机仿真标准差则可以视为均衡程度有所提升。


\section{模型的假设}
\begin{flushleft}
（1）假设数据来源真实有效；

（2）假设路况正常无突发事件；

（3）假设所有乘客，司机服从机场安排；

（4）假设司机可以知道此时候车数量以及航班数；

（5）假设出租车在乘车区的速度与道路的繁忙度相关；

（6）假设司机在工作时间内多次往返载客，不考虑中途休息情况。


\end{flushleft}
\newpage
\section{符号说明}

\begin{table}[htbp] 
	\centering
	\begin{tabular}{p{7.5cm}<{\centering} p{7.5cm}<{\centering}} 
		\toprule[1.5pt]
		符号 & 意义\\ 
		\midrule 

	$\alpha$ 	 & 飞机实际载客率\\
	$\beta$		& 出租车所占抵离方式比例\\
	$N$			&等待出租车的乘客人数\\
	$n$			&已有排队出租车数量\\
	$s$  		 &出租车行驶路程\\
    $l$			&机场至市区距离\\
	$v$  		  &出租车行驶平均速度\\
	$n_i$			&一天中第$i$段时间段内航班数量(i=1,2,3,4)\\
	$E_i$			&一天中第$i$段时间段内出租车单位时间(小时)收益(i=1,2,3,4)\\
	$t_0$			&出租车司机排队等待时间\\
	$t_{st}$		&平均每辆出租车装客所需时间\\
	$P$			&出租车单位路程(公里)计费价格\\
	$p$				&单位路程(公里)所费油钱\\
		
	$C_1$				&时间成本\\
	$C_2$				&耗油成本\\
	$R$			   &载客收益\\
	$Q$				&成本转化率\\

  	

		\bottomrule[1.5pt] 
	\end{tabular} 
\end{table}






\section{模型建立与求解}
%%%%
\subsection{第一问--基于成本转化率的决策模型建立与求解}
%%





\subsubsection{出租车抵离方式占比$\beta$}
查阅机场陆侧交通问题相关文献资料\cite{bib:one}，发现不同机场的$\beta$数值不同，其中上海等一线城市的$\beta$值明显大于长沙等二线城市，这是由于上海等一线城市的航班乘客中商旅客占比更大，商旅客人群注重出行的快捷性和便利性，对经济的要求相对其他乘客不高，故出租车抵离方式占比更大。

查阅最近的相关文献资料，虹桥机场的出租车抵离方式占比为$36\%$\cite{bib:two},浦东机场的出租车抵离方式占比为$22\%$\cite{bib:three},尽管由于公共交通和打车软件的兴起，出租车的抵离方式占比呈下降趋势，不同城市机场的具体$\beta$值也存在一定差距，但都位于$20\%$至$40\%$之间，此模型中我们假设$\beta$数值为$30\%$。


\subsubsection{候车乘客人数$N$}
乘坐出租车的乘客人数$N$受航班乘客总人数和出租车抵离方式所占总抵离方式比例$\beta$影响,其中航班乘客总人数受航班数量、航班最大载客量和航班实际载客率三个因素影响。具体计算公式如$(x)$式所示：
\begin{equation}
N=\mbox{航班数量}\times\mbox{航班最大载客量}\times\alpha\times\beta
\end{equation}

其中，航班数量和飞机机型可查询当天的航班信息得知，航班最大载客量可由对应的飞机机型查询得知，$\alpha$为航班实际载客率，受时间、日期、季节等多个因素影响,$\beta$为出租车抵离方式所占总抵离方式比例。


\subsubsection{司机排队等待时间$t_0$}出租车司机的排队等待时间主要取决于已有排队车辆数和候车乘客数量，
若已有车辆数较多，有可能还未成功载客前，该轮航班的候车乘客已经全部坐车离开，因此需要对已有排队车辆数和候车乘客数量进行一个比较，判断是否需要等待下一轮航班乘客的抵达，并给出一个相应的补偿时间，具体如下$(x)$式所示：

\begin{equation}
t_0=
\begin{cases}
n\times t_{st}&  \frac{N}{3} > n\\
\frac{N}{3} \times t_{st} + \mbox{补偿时间}+(n-\frac{N}{3})\times t_{st} &  \frac{N}{3}< n
\end{cases}
\end{equation}

其中，$n$为已有排队车辆数，一辆出租车的容纳乘客数量为$4$人,考虑到目的地和同行人数的不同，并非每辆出租车都会满载，但同时由于现场有工作人员指挥调度乘客合理乘车，本模型中我们假定平均每辆出租车的载客人数为$3$人。
\subsubsection{成本分析}

\subparagraph{时间成本$C_1$}若出租车司机选择在机场载客，则进入机场出发层载客前，必须先去指定的“蓄车池”排队等候，并且依照“先来后到”的原则排队进场等候载客，而等待时间受排队出租车和候车乘客的数量影响，故有一定的时间成本；若出租车司机选择直接返回市区载客，在机场返回市区的过程中处于空载状态，同样需要支付一定的时间成本。

以小时为单位时间，正常工作情况下单位时间内出租车存在一定的载客收入，故在时间成本的处理上，我们令工作时间对应的载客收入为$0$。

\subparagraph{耗油成本$C_2$}以公里为单位路程，一定路程的耗油成本$C_2$可由$(x)$式得出：
\begin{equation}
C_2=p\times s
\end{equation}

其中$p$为出租车单位路程耗油所需花费的油钱，$s$为出租车行驶路程。

\subsubsection{收益分析}

\subparagraph{已知路程}结合实际情况知，出租车计费是以行驶路程为计量单位进行收费。
若已知出租车载客行驶路程，则载客收入可通过如下$(x)$式计算：
\begin{equation}
R=P\times s
\end{equation}
其中，$P$为出租车单位路程收费标准，$s$已知时直接代入计算即可，当$s$未知时，可根据平均速度和行驶总时间计算得出。

\subparagraph{已知时间}
若载客行驶路程具体数值不知，仅知道出租车工作时间，则可以根据相关数据集计算出某时间段内出租车单位时间载客收益，其具体载客收入可通过如下$(x)$式计算:
\begin{equation}
R=E_i\times t
\end{equation}
其中，$E_i$为一天中第$i$段时间段内出租车单位时间(小时)收益(i=1,2,3,4)，$t$为出租车工作时间。

\subsubsection{成本转化率分析}
无论司机选择排队等待载客返回市区，还是空载直接返回市区，机场至市区的距离是固定的，故两种选择方案中从机场返回市区的行驶路程是相同的，假定无论载客与否司机的行驶速度也是一定的，故$a$、$b$两种方案从机场返回市区所需时间是相同的。

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.8\textwidth]{shijian.eps}
  	\caption{时间解析图}
  \end{figure}


同时我们令司机选择$b$方案时，返回市区后的载客时间与选择$a$方案时排队等待所需花费的时间$t_0$相等，这样$a$、$b$方案的总时长相等。对$a$、$b$方案进行决策选择时，只需比较其对应的成本转化率即可，其中成本转化率和净收益的计算公式如下$(x)$式所示：

\begin{equation}
\mbox{成本转化率}=\frac {\mbox{净收益}} {\mbox{时间成本}+\mbox{耗油成本}}
\end{equation}


\begin{equation}
\mbox{净收益}=\mbox{载客收益}-\mbox{时间成本}-\mbox{耗油成本}
\end{equation}


\subparagraph{排队等待载客成本转化率$Q_a$}司机在机场“蓄车池”排队等待过程中行驶路程的耗油成本可忽略不计，仅需考虑从机场返回市区的载客过程中耗油成本和时间成本，结合$(x)$至$(y)$式可得排队载客方案成本转化率表达式如下$(x)$式所示：

\begin{equation}
Q_a=\frac{R_a-C_a}{C_a} 
\end{equation}

\begin{equation}
R_a=P \times l
\end{equation}

\begin{equation}
C_a=p \times l 
\end{equation}

其中，$l$为机场至市区的行驶距离，$p$为出租车单位路程耗油所需花费的油钱，$P$为出租车单位路程收费标准。

\subparagraph{返回市区载客成本转化率$Q_b$}司机空载返回需支付一定的空载时间成本和耗油成本，返回市区之后在$t_0$时间内正常载客。

\begin{equation}
Q_b=\frac{R_b-C_b}{C_b成本转化率} 
\end{equation}

\begin{equation}
R_b=E_i \times t_0
\end{equation}

\begin{equation}
C_b=p \times s=p  ( l+v t_0 ) 
\end{equation}
其中，$v$为出租车的平均行驶速度，$t_0$为出租车在机场排队等待时间，$l$为机场至市区的行驶距离，$P$为出租车单位路程收费标准。

\subsubsection{基于0-1规划的选择决策}由于选择决策的目标只有两个，故可以采用基于0-1整数规划的决策模型，设定目标函数和对应的约束条件进而求解。


目标（max）:以出租车司机的成本转化率最大为目标函数，即当出租车司机成本转化率数值最大时，判断是选择$a$方案排队等待载客，或者$b$方案返回市区载客。
\begin{equation}
 max=Q(x)=(1-x)\times Q_a+x \times Q_b
\end{equation}

其中
\begin{equation}
\begin{cases}
x=0  &  \mbox{排队等待载客}  \\
x=1  &   \mbox{返回市区载客}
\end{cases}
\end{equation}


约束（s.t.）:出租的平均行驶速度$v$、出租车计费标准$P(x)$、机场至市区的路程$l$,出租车单位路程花费油钱$p$、平均每辆出租车装客所需时间$t_{st}$等均为常数。

%%%%
\subsection{第二问--基于成本转化率的决策模型评估与分析}
%%
\subsubsection{数据集来源与预处理}


\subparagraph{数据集来源}
搜集的数据集主要来源于互联网，其中



\subparagraph{时间段分解}机场运力需求变化规律与人的生产和生活规律相关，随着人的工作和休息的相互交替，具有一定的周期性。具体来说，每天机场的工作人员和出租车司机的生产和生活安排有一定的规律，因此，每天的运力需求曲线有相似性\cite{bib:four}。
结合一天中不同时间点的特性，我们将一天划分为四个时间段，如下表$1$所示：
\begin{table}[htbp] 
\caption{时间段划分}  
	\centering
	\begin{tabular}{p{7.5cm}<{\centering} p{7.5cm}<{\centering}} 
		\toprule[1.5pt]
		时间段$T_i$(i=1,2,3,4) & 具体时间点\\ 
		\midrule 

	$T_1$		& $0:00-6:00$  \\
	$T_2$		& $6:00-12:00$  \\
	$T_3$		& $12:00-18:00$  \\
	$T_4$		&  $18:00-24:00$  \\	
  	

		\bottomrule[1.5pt] 
	\end{tabular} 

\end{table}

\subparagraph{不同时间段航班数量}由数据集$1$里上海某天所有航班的降落时间数据(由于航班每天变化不大，故此处仅需一天的航班数据即可)，利用MATLAB编程计算划分的$4$个时间段内降落航班总数量，具体如下图$x$和图$x$所示：


	\begin{figure}[htbp]
		\begin{minipage}[t]{0.45\linewidth}
			\centering
		\includegraphics[width=1\textwidth]{hangbanquxian.eps}
			\caption{单位时间航班数量变化曲线图}
		\end{minipage}%
		\begin{minipage}[t]{0.45\linewidth}
			\centering
	\includegraphics[width=1\textwidth]{hangbanzhuzhuang.eps}
			\caption{不同时间段下航班总数柱状图}
		\end{minipage}
	\end{figure}




\subparagraph{不同时间段载客收入}由数据集$2$里上海8000多辆出租车一天的行驶数据，利用MATLAB编程计算划分的$4$个不同时间段内出租车司机单位时间载客收益，具体如下图$x$和图$x$所示：





	\begin{figure}[htbp]
		\begin{minipage}[t]{0.45\linewidth}
			\centering
	\includegraphics[width=1\textwidth]{shouruquxian.eps}
			\caption{载客收益单位时间变化曲线图}
		\end{minipage}%
		\begin{minipage}[t]{0.45\linewidth}
			\centering
	\includegraphics[width=1\textwidth]{shouruzhuzhuang.eps}
			\caption{不同时间段下单位时间载客收益柱状图}
		\end{minipage}
	\end{figure}



\subsubsection{基于控制变量法的主要因素分析}根据第一问建立的模型可知，存在多种因素影响两种方案的成本转化率。但是结合实际情况可知，诸如出租车计费标准、出租车平均速度、油价等变量并不会有很大幅度的变化，在此模型中非关键影响因素，故不作分析。我们采用控制变量法的思想，分别对已有排队出租车数量$n$、候车乘客总人数$N$、机场至市区距离$l$三个因素进行单变量分析，利用MATLAB编程画出相关曲线图，并结合实际情况分析模型的合理性。



\subparagraph{已有出租车数量$n$}

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.8\textwidth]{p2-1.eps}
  	\caption{成本转化率关于出租车数量变化图}
  \end{figure}

利润率与候车数量关系，假设在机场候车时不消耗任何金钱，接到乘客后送到目的地点，那么利润率不与候车时等待的时间有关，即也是不与候车的速度有关；而选择回到市区，在损失空载费用后，利润率随着在市区工作的时间数目逐渐上升，而市区工作时间取决于候车等待的时间即候车数目。


\subparagraph{候车乘客总人数$N$}

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.7\textwidth]{p2-2.eps}
  	\caption{成本转化率关于候车乘客人数变化图}
  \end{figure}

对于选择留下的情况，因为不考虑等待时间损失的成本，所以飞机载客影响的时间不产生影响。对于选择回去，他的成本是固定的，在城里时间越长利润率就越大，所以在乘客人数达到某一定值，使得要等下一趟飞机时才会使得利润率产生一定范围内的微小突变。


\subparagraph{机场至市区距离$l$}

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.7\textwidth]{p2-3.eps}
  	\caption{成本转化率关于距离长短变化图}
  \end{figure}

在较短距离内，司机收取一定数目启动价与路程无关，而成本反而随着路程上升，所以在起步价范围内随着距离增加，利润率都有减小。对于选择留下，之后利润与路程正相关，成本与时间正相关，所以趋于平稳。而对于选择回去的情况，在市区单位时间内利润率是固定的，市区距离越长只会让成本越大，所以会持续缓慢下降，甚至是负收益。

\subsubsection{基于SPSS的Logistic回归分析}
此模型中因变量为选择$a$方案或者$b$方案，属于分类变量，不能用线性回归进行求解来分析相关自变量对因变量的影响程度。而Logistic回归是针对因变量为分类变量而进行回归分析的一种统计方法。\cite{bib:five}，故关于模型对相关因素的依赖性部分，我们采用基于SPSS的Logistic回归分析。

我们将$8418$份个案导入SPSS软件，得到相关结论如下表$x$和表$x$所示：

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.8\textwidth]{SPSS1.eps}
  	\caption{Logistic回归准确性分析}
  \end{figure}
其中，右下角的正确百分比$99.3$说明通过Logistic回归分析能够有99.3\%的准确性来判断选择哪个方案，故此模型用Logistic回归分析是具有可信度的。

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.8\textwidth]{SPSS2.eps}
  	\caption{Logistic回归显著性分析}
  \end{figure}

其中变量$V2$代表已有出租车数量，$V3$代表从机场至市区的距离，$V4$代表候车乘客总人数。考察显著性部分，前两个显著性大小均为$0.000$小于$0.01$，说明已有出租车数量和机场至市区距离两个变量对方案的选择有显著性影响。

而候车乘客总人数的显著性大小为$1.000$，即无影响，结合实际情况分析，因为此处我们采用的数据集为上海航班数据，而上海作为中国经济中心和国际大都市，每小时内平均有$22$趟航班降落，故等待出租车的乘客数量很大，所以司机等待时间便仅仅取决于已有的出租车数量，与乘客人数无关。

\subsubsection{已知排队出租车数量的司机决策}
在基于控制变量法的主要因素分析中，由图$6$成本转化率关于出租车数量变化图可知，当已有排队出租车数量为$89$时，$a$、$b$两种方案的成本转化率相同。当已有出租车数量小于$89$时，空载返回市区的成本转化率小于排队等待载客，故司机应该做出的决策为排队等待载客；当已有出租车数量大于$89$时，空载返回市区的成本转化率大于排队等待载客，故司机应该做出的决策为空载返回市区载客。


%%%%

\subsection{第三问--基于乘客安全的乘车效率评价模型}
%%
\subsubsection{并行车道分配模型建立}
\paragraph{单行模型}将两条并行车道分配为两部分。
\subparagraph{第一部分}
即靠近到达区“上车点”的并行道区域， 该区域为出租车的停靠接客区域，在航站楼车道边这一部分区域上出租车停靠并占用一个并行车道。 
\subparagraph{第二部分}即远离到达去“上车点”并行道的区域， 该区域为出租车的变道区域， 出租车从这条并行道驶上航站楼， 亦从这条并行道驶出航站楼。
\subparagraph{出租车操作}
 在第一部分并行车道上出租车接到在“上车点”等候上车的乘客。在乘客完成上车前的准备工作后， 司机将车调整到旁边的并行车道， 将乘客载出航站楼。

 \begin{center}
 	\includegraphics[width = .4\textwidth]{a.png}
 \end{center}

\paragraph{并行模型}
是乘客多点乘车的方案， 每一个“上车点”都可以发出出租车，可以提高乘客乘车的效率， 降低乘客的平均等待时长。
\subparagraph{出租车候客部分}
将并行车道划分为多个车道， 每个车道上有一定数量的出租车在等候乘客， 乘客若选择非临近到达区的并行道上车， 则需要跨越一定个数的车道乘车。
\subparagraph{乘客乘车平台部分}
由于出租车是并行排列在车道上的， 乘客跨越车道乘坐出租车的过程线路是特定的。 将这部分分为乘客乘车平台部分， 保证乘客乘车乘车的有序性， 也一定程度上的降低了乘客人流对抗车流干扰所造成的乘客人身安全风险。
\subparagraph{出租车操作}
在出租车候车部分上每一条并行道上的车辆整齐排列， 当最前面的车辆接到客人驶出航站楼时， 后边的车辆便向前进一个车位， 直到自己成为该并行道上的第一辆。 第一辆车在并行道的最前方即临近乘客乘车平台部分接到乘客， 驶离航站楼。
\begin{center}
	\includegraphics[width = .4\textwidth]{b.png}
\end{center}
\

\subsubsection{并行车道分配模型决策}
\subparagraph{单行模型}
在“上车点”数量较多时才会体现较高的乘客乘车效率， 因此对场景的纵向距离要求较高。 在实际场景中的只有两条并行车道符合该种模型， 且机场的长跨度的纵向距离为该种方案的实施提供了有利的条件。
\subparagraph{并行模型}
在“上车点”数量较多时才会体现较高的乘客乘车效率， 因此对场景的横向距离的长度要求较高。 在实际的应用场景中， 所给出的两条并行车道无法满足较多的“上车点”需求， 其乘车效率在实际应用过程中较低。
\subparagraph{决策}
比较单行模型和并行模型的需求之后， 在客流量压力大的机场需要有较高效的并行车道分配方案来适应实际的需求。 在这个方面上， 显然单行模型更加符合实际的情况。


\subsubsection{"上车点"安排}

\paragraph{基于乘客安全的乘车效率评价模型}
为了充分衡量所模拟模型的乘车效率， 我们将等候出租车的数量设为无穷的， 将乘客数量用一个较大的值（10000）来消除短时间的模型运载效率对预估实际应用中长时间的乘车效率的影响。
最终通过比较完成乘客运输的时间长短来决策“上车点”的位置设置和“上车点”的个数设置。 在仿真的效率评价过程中， 我们对以下的相关参数进行了模拟限定。
\begin{center}
	\begin{tabular}{ccc}
		\hline
		参数名&数值\\
		\hline
		航站楼边车道上车区的长度/m&67.5\\
		边车道出租车最大行车速度/m·s-1&5.56\\
		乘客配车到上车前准备时间/s&42\\
		每个前进单位对应的距离/m&0.05\\
		上客区理论最大通行能力/辆&11\\
		并行道数量/条&2\\
		30m范围的最大车辆容量数/辆&5 \\
		\hline
	\end{tabular}\\
	% 表 机场相关参数信息
\end{center}
\subparagraph{乘客系统}
乘客系统由乘客和“上车点”组成， 乘客数量为1000， 随着每个上车点的最前方乘客的搭上出租车离开航站楼， 每个“上车点”的乘客发生动态变动， 即乘客数量多的“上车点”的乘客向乘客数量少的“上车点”移动， 使得每个“上车点”的人数都是处于动态平均的状态。
\subparagraph{道路指定位置繁忙度评价模型}
对指定位置的前方30m范围内的车辆数目\(CarNum\), 结合特定场合（机场边车道）的30m的最大车辆容量数量\(CarNumMax\), 建立指定位置的交通繁忙度TrafficCongestion评价模型。\\
对交通繁忙度给出如下定义：
\begin{equation}
	TrafficCongestion = \frac{CarNumMax - CarNum}{CarNumMax}
\end{equation}
\subparagraph{出租车速度变化模型}
出租车的在边车道上行驶速度在不超过限速的情况下， 是与交通道路状况有关的。 在交通状况好时， 即边车道上的车流压力较小时， 车辆可以以相对较快的速度前进； 而在交通状况相对较好时， 车辆则以相对较慢的速度前进。 车辆的行驶速度与道路的繁忙度具有相关性， 我们在通过实际的交通数据拟合， 得到以下的出租车速度变化模型， 并对出租车的速度变化给出如下关系式：
\begin{equation}
	V_{texi} = \frac{MaxSpeed}{TrafficCongestion}
\end{equation}
\subparagraph{出租车里程模型}
在出租车行驶过程中， 出租车的速度是随道路的交通状况发生变化的， 是一个动态的数据。 为了得到出租车的在边车道上的位置信息， 即从驶上边车道后的里程， 我们通过对出租车速度积分的方法， 建立了出租车的里程模型， 给出出租车的行驶距离的数学表达式如下：
\begin{equation}
	Dist_{texi}(t) = \int_{0}^{t}V_{texi}(t)dt
\end{equation}
\subparagraph{乘车效率度量模型}
通过对乘客系统、 繁忙度评价、 出租车速度变化、 出租车里程等模型的求解， 仿真后可得到在以单位时间来表示的出租车运载完\(PassengerNum\)名乘客所需的时间。 并给出第i种乘车方案的乘车效率度量指标\(Efficient_{i}\)的计算方法：
\begin{equation}
	Efficient_{i} = \frac{PassengerNum_{i}}{Time_{i}}
\end{equation}

\subsubsection{模型的求解}
% 插入流程图
\paragraph{“上车点”位置与数量的最优模型求解}
经过考察， “上车点”的位置设置由以下两种设置方案：
\begin{center}
	\begin{tabular}{ccc}
		\hline
		方案&内容\\
		\hline
		方案一&在边车道的两端设置一定距离的缓冲区， 供出租车进入“上车点”区域，\\
		& “上车点”在“上车点”区域平均分配在“上车点”区域\\
		方案二&在边车道的两端和中间设置一定距离的缓冲区， 供出租车进入“上车点”\\
		&区域缓冲和出租车会车缓冲， “上车点”在“上车点”区域平均分配\\
		\hline
	\end{tabular}\\
	% 表 “上车点”位置设置方案
\end{center}
通过对以上两种方案分别求解， 得到两种方案在不同的“上车点”数量乘车效率数据， 如下表所示：
\begin{center}
	\begin{tabular}{ccc}
		\hline
		“上车点”数量&方案一乘车效率&方案二乘车效率\\
		\hline
		2&0.9214&\\
		4&0.9216&0.9173\\
		6&0.9313&0.9298\\
		8&0.9114&0.9093\\
		\hline
	\end{tabular}\\
	% 表 乘车效率
\end{center}
分析数据可得， 在机场相关参数表中的数据前提下的边车道“上车点”的位置为方案一分布， 设置6个“上车点”时乘车效率最高。

%%%%
\subsection{第四问--基于时间顺序的车辆仿真模型}
%%

\subsubsection{仿真模型的建立}
此问将司机一天的工作高度抽象数学化，并建立基于时间顺序的模型进行仿真，模型由三个基本组成部分，分别为时间序列部分，事件进程部分，状态寄存部分。

其中时间序列部分用于按照一定的步长将司机一天的工作分为按照时间顺序相连接的有序集合。

事件进程部分将司机的工作流程抽象为具体的“候车进程”，“接客进程”，“送客进程”，将事件进程按照一定顺序排列在时间序列上，即可获得司机在工作时间内的工作状况。

状态寄存部分的目的是以$-1$，$0$，$1$等抽象数字代表司机的具体工作状态，在本模型中，状态寄存部分由两部分，分别是事件状态寄存器用于记录当前时间序列下司机所处的事件模型，转化状态寄存器用于管理司机在不同的事件中转化的情况，具体作用机理由图$（x）$所示。


%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.6\textwidth]{p4-0.eps}
  	\caption{作用机理图}
  \end{figure}

\subsubsection{优化前仿真实现}

此问采用MATLAB进行仿真，按照以下规则计算一位司机在机场一天的时间与事件安排：在任意时间节点，司机只能属于一种状态，即状态寄存器有且存在$-1$，$0$，$1$三种状态其中之一；司机的时间序列只能按照客观物理世界规律安排进程，即候车进程后只能是接客进程，接客进程后只能是送客进程，送客进程后接候车进程形成循环，直到将时间序列中每个时间节点安排为止。

下面对现实中司机的情况进行仿真，在没有优化的情况下，司机按照先来后到的规则在候车池排队，前方有任意量车辆，以一定范围内的随机整数表示，直到前方的车辆都进入接客进程后，司机才能进入接客进程，司机遇到的客人有50\%的几率选择长途，也有50\%的几率选择短途，司机无法拒绝乘客，直到完成送客进程后获得对应的收益后回到机场候车池再次进入候车状态完成一次循环。

一共对普通司机进行了100次仿真,-1代表在侯车，0表示在接客，1表示在送客。

司机一天的工作安排情况如下图$x$所示：

%（图片）
 \begin{figure}[H]
  	\centering
	\includegraphics[width=0.6\textwidth]{p4-1.eps}
  	\caption{工作安排图}
  \end{figure}

\subsubsection{优化方案提出及仿真实现}
在上文对普通司机的仿真中，由于遇到短途客人后，会出现在较短的送客时间后又进入较长的候车进程，对于司机而言，单位时间内的收益会下降，因此出现了司机不愿意接短途客的状况。为了缓解这种状况，机场管理人员应制定相应的方案，给予搭载短途客的司机一定的优先权，使得司机间整体收益趋向平衡，这种问题也被称为“短途补客”问题。

下面提出两种优先权方案：

方案一：

由武汉天河机场提出，即对于上一趟搭载了短途客的司机，可以进入候车较少的快车道进行候车，从而尽早获得下一单生意。

方案二：

基于乘客选择的双车道相互转化方案，即机场要求旅客按照坐车距离分为长途车乘客组与短途车乘客组，分别在两条车道候车，而对于司机来说，上一趟搭载了长途客的司机必须进入短途车组，反之上一趟搭载了短途客的司机优先进入长途车组。



	\begin{figure}[htbp]
		\begin{minipage}[t]{0.45\linewidth}
			\centering
			\includegraphics[height=10cm,width=4cm]{p4-5.eps}
			\caption{fig111111}
		\end{minipage}%
		\begin{minipage}[t]{0.45\linewidth}
			\centering
			\includegraphics[height=10cm,width=4cm]{p4-6.eps}
			\caption{fig222222}
		\end{minipage}
	\end{figure}



要求使得司机的收益尽可能平衡，通过进行总收益标准差的比较即可获得最优方案。通过计算得到，在无优化的情况下，标准差为84.025，在武汉天河机场提供的方案一下标准差为72.1507，在我们设置的方案二下，标准差为49.5789。
综上所述，我们可提出一种优于当前现实中应用的优先权方案二。

\subsubsection{灵敏度分析}

\paragraph{乘客上车所用时间对模型的影响分析}


采用遍历乘客上车所用时间，进行多次仿真，使用标准差判断司机收益的均衡程度，用三次函数进行拟合，得到结论如图（），可以看到成负相关关系，即乘客上车耽误时间越多，方差越小，说明司机收益约趋于平均。


	\begin{figure}[htbp]
		\begin{minipage}[t]{0.45\linewidth}
			\centering
	\includegraphics[width=1\textwidth]{lm1.eps}
			\caption{上车时间影响}
		\end{minipage}%
		\begin{minipage}[t]{0.45\linewidth}
			\centering
	\includegraphics[width=1\textwidth]{lm2.eps}
			\caption{长短途比例影响}
		\end{minipage}
	\end{figure}

\paragraph{乘客长短途比例对模型的影响分析}



采用遍历的方式改变乘客中长短途的比例，进行多次仿真，使用标准差判断司机收益的均衡程度，用三次函数进行拟合，得到结论如图（），可以看出在比例约为0.5时最大，两端最小，这是因为司机遇到的长短途越固定（就是全是短途或者长途）一天中接客的情况就越固定，从而收益就越稳定。

综上所述，可以看出乘客上车时间的改变，乘客长短途的比例对模型的影响均符合现实关系，故可认为模型有效。


\section{模型评价}


\subsection{第一、二问--基于成本转化率的决策模型}
采用大数据进行优化，使得模型更加贴近现实生活，同时以成本转化率作为评判标准，使司机收益量化更为合理，巧妙利用SPSS的Logistic多元回归分析多种因素的影响程度，操作简便且可信。但模型检验所利用的数据多为发达地区的数据集，缺乏对较为偏僻的机场考虑，缺乏一定的可移植性，对于该模型我们可以从实地考察和收集更为全面的数据集
的角度进行改进。

\subsection{第三问--基于乘客安全的乘车效率评价模型}

对于问题散的模型来说， 首先从机场“乘车区”的实际应用场景出发， 并结合现实中的一些解决方案， 提出了两种并行车道的分配解决方案， 具有实用性。 接着提出“上车点”的相关解决方案， 并建立了道路繁忙度的模型， 并根据繁忙度来建立车辆的速度变化模型， 具有一定的创新性。 在最后仿真的过程中结合实际， 对实际场景进行模拟， 具有科学性。 但无论是在“上车点”方案的制定过程中具有一定的主观性， 在实际应用中可能会有更加高效的解决方案， 在制定层面还需要有创新和更多的尝试。


\subsection{第四问--基于时间顺序的车辆仿真模型}
此模型对复杂的现实情况进行抽象化的模型仿真，便于去掉复杂的无关因素，经过灵敏度分析后，基本符合现实生活中的变化规律，具有一定的健壮性，且经过调整，司机的收益均衡程度要优于现实中已有的安排方案。但模型较为理想化，可执行性受多种条件制约，现实生活中可执行性可能不够理想，同时对于短途司机的优先性体现不够明显，仅仅是平衡了司机的收入情况。可以建立模型给给予短途司机一定的优惠补贴，增加总体的司机收入，或者增加更多事件安排，使得司机选择更多样化，更贴近于生活情况。



%参考文献
\newpage
\begin{thebibliography}{9}%宽度9
	\bibitem{bib:one} 谭倩. 枢纽机场陆侧交通客流特征研究[A]. 全国智能交通系统协调指导小组、全国清洁汽车行动协调领导小组、中国智能交通协会、深圳市人民政府.第五届中国智能交通年会暨第六届国际节能与新能源汽车创新发展论坛优秀论文集（上册）——智能交通[C].全国智能交通系统协调指导小组、全国清洁汽车行动协调领导小组、中国智能交通协会、深圳市人民政府:中国智能交通协会,2009:6.

	\bibitem{bib:two} 官盛飞. 虹桥机场旅客特性调查分析[A]. .上海空港（第20辑）[C].:上海世纪出版股份有限公司科学技术出版社,2015:7.

    \bibitem{bib:three}赵雪峰.上海浦东国际机场陆侧交通出行特征分析[J].综合运输,2015,37(03):81-85.

 	\bibitem{bib:four} 林思睿. 机场出租车运力需求预测技术研究[D].电子科技大学,2018.

	\bibitem{bib:five} 张文霖,刘夏璐,狄松.谁说菜鸟不会数据分析[M].电子工业出版社:北京,2011:130.


	\bibitem{bib:six} 耿中波,宋国华,赵琦,高永,万涛,辛然.基于VISSIM的首都机场出租车上客方案比选研究[J].中国民航大学学报,2013,31(06):55-59.

    \bibitem{bib:seven} 魏中华,王琳,邱实.基于排队论的枢纽内出租车上客区服务台优化[J].公路交通科技(应用技术版),2017,13(10):298-300.



\end{thebibliography}
\newpage
%附录
\appendix




\section{重要函数MATLAB代码}
\begin{lstlisting}
%距离计算函数
function [distan] = distanGet(xbefore,ybefore,xafter,yafter)
%输入两段的经纬度，计算两者距离
R = 6371;
distan_x = abs(2*R * asin( sqrt( sin(0.5*ybefore-0.5*yafter)^2))/100);
distan_y = abs(2*R * asin( sqrt( cos(yafter)^2 * sin(0.5*xbefore-0.5*xafter)^2))/100);
distan = distan_x+distan_y;  
end

%价格获取函数
function [money] = MoneyOfTaxi(m)
%输入里程数,时间，计算价格
    if m < 3
        money = 14;
    elseif m < 15
        money = 14 + ( m - 3 ) * 2.5;
    else
        money = 14 + ( 15 - 3 ) * 2.5 +( m - 15 ) * 3.6;
    end
end

%第四问仿真数据获取函数
function [flightTime,shortTime,longTime,shortGet,longGet] = para(time)
%输出的参数有 飞架航班间隔情况 长短途所需时间 长短途所获得金额
    if time < 6
        flightTime = ceil((1/1.2)*100)/100;      
    elseif time < 12
        flightTime = ceil((1/13.33)*100)/100;  
    elseif time <18
        flightTime = ceil((1/20.83)*100)/100;
    else
        flightTime = ceil((1/26.33)*100)/100;   
    end
    shortLen = rand * 15 / 50;
    longLen = (rand * (45-3) + 30) / 50;
    
    shortTime = ceil((shortLen)*100)/100;
    longTime = ceil((longLen)*100)/100;
    
    shortGet = 14 + (shortLen * 50 - 3) * 2.7;
    longGet = ( longLen * 50 - 15 ) * 2.7 +14;
end


\end{lstlisting}
\newpage
%%

\section{一二问核心代码}
\begin{lstlisting}
%航班数据处理代码
timeList = xlsread('虹桥机场航班数据.xlsx','Sheet1','AG2:AG364');

flightTime = zeros(24,1);

for i=1:size(timeList,1)
    
    hour = ceil(timeList(i));
    
    flightTime(hour) = flightTime(hour) + 1 ;
    
end

i=1:24;
plot(i, flightTime, 'r');

Fly = zeros(4,1);

Fly(1) = sum(flightTime(1:6));
Fly(2) = sum(flightTime(7:12));
Fly(3) = sum(flightTime(13:18));
Fly(4) = sum(flightTime(19:24));

%上海位置处理代码
distan3 = 0;
distan315 = 0;
distan15 = 0;
%获得各个地点坐标数据
point = xlsread('./上海地点坐标.xlsx','Sheet1','P2:Q408824');
%初始化机场坐标
airport = [121.808,31.151];
%地球半径
R = 6371;
for i=1:size(point,1)
    %采用曼哈顿距离
    %使用Haversine的推导公式
    distan_x = abs(2*R * asin( sqrt( sin(0.5*point(i,2)-0.5*airport(2))^2))/100);
    distan_y = abs(2*R * asin( sqrt( cos(point(i,2))^2 * sin(0.5*point(i,1)-0.5*airport(1))^2))/100);
    distan_all = distan_x+distan_y;  
    if distan_all < 3+5
        distan3 = distan3 + 1;
    elseif distan_all <15+5
        distan315 = distan315 +1;
    else distan_all < 30 + 5 
        distan15 = distan15 + 1;
    end
end
%获得每种目的地需求的概率
pro3 = distan3/size(point,1);
pro315 = distan315/size(point,1);
pro15 = distan15/size(point,1)

%上海司机工作统计代码
clc,clear;
 
 taxiDriver = xlsread('Taxi_105.xlsx','Taxi_105','C1:D1238');
 passinger = xlsread('Taxi_105.xlsx','Taxi_105','G1:G1823');
 iFlag = 0;
 timeList = size(taxiDriver,1);
 iChange = 0;
 
 earnMoney = [];    % 赚钱列表
 moneyTime = [];    % 赚钱时间
 wallet = 0;    % 单次开车赚的钱
 
 nullDrive = 0;    % 日常开车
 moneyDrive = 0;    % 有钱的开车
 
 areaBefore = taxiDriver(1,:);
 
 moringMoney = 0;
 moringPoint = 0;
 eveningMOney = 0;
 eveningMoney = 0;
 
 for i=2:timeList
     
     areaAfter = taxiDriver(i,:);
     
     addDistan = distanGet(areaBefore(1),areaBefore(2),areaAfter(1),areaAfter(2));
     nullDrive = nullDrive + addDistan;
     
     if iFlag == 1
         moneyDrive = moneyDrive + addDistan;
     end

     if iFlag == passinger(i)
         iChange = 0;
     else 
         iChange =1;
     end
     
     if iChange == 1
         if iFlag == 0
             moneyDrive = 0;
             moneyTime = [moneyTime;timeGet(i)];
             iFlag = 1;
         else
             wallet = MoneyOfTaxi(moneyDrive);
             earnMoney = [earnMoney;wallet];
             iFlag = 0;
         end
     end
     
     areaBefore = areaAfter;
     
 end
 
 xlsxload = [moneyTime,earnMoney];
 xlswrite('moneyof105.xlsx',xlsxload);

%第二问绘图代码（其一）
clc,clear;
TIME = 2;
[L,Fly,car,earn] = DATA(TIME);
result = [];

cha = [];

outcar = 100;

for outcar=1:100    
    tst =0.01;
    if car > outcar
        t = outcar * tst;
    else
        t = 1/Fly + car * tst + (outcar - car)*tst;
    end
    EARN0 = (t*earn - L *0.618)/(L*0.618);
    EARN1 = (MoneyOfTaxi(L) - L *0.618)/(L*0.618);
    EARN = [EARN0,EARN1];
    result = [result;EARN];
    cha = [cha,abs(EARN1-EARN0)];
end

i = 1:100;
plot(i,result(:,1),'b');
hold on;
plot(i,result(:,2),'r');
hold on;
plot(i,cha,'g');
title('利润率与候车数量的关系'); 
legend('x=1时的利润率','x=0时的利润率','二者差的的绝对值') 

\end{lstlisting}



\section{第三问核心代码}
\begin{lstlisting}
%第三问仿真情况（其一）
N = 3;    % 接口数目
postFlag = ones(N,1);    % 设置N个接口站，0代表此处无法加车，1代表此处需要来车

load = [2,500];    %路的主结构

postPoint = zeros(N,1);
passinger = 1000;

for i=1:N
    postPoint(i) = N *100;
end
postPoint = [50;200;450];

car = zeros(3,3);    % 初始化最开始的车 每列数据分别表示 路上位置，是否进站，是否接客

for i = 1:100000
    
    if size(car,1) == 1
        car = [car;zeros(1,3)];
        continue;
    end
    for carNum = 1:size(car,1)
        if carNum >= size(car,1)
            continue;
        end
        if car(carNum,1) > load(2)
            car(carNum,:) = [];
            passinger = passinger - 1;
        elseif ~(car(carNum,3) == 0)
            car(carNum) = car(carNum,1)+1;
            if car(carNum,3)==1
                postFlag(1) = 1;
            elseif car(carNum,3)==2
                postFlag(2) = 1;
            else
                postFlag(3) = 1;
            end
            car(carNum,2) = 0;
            continue;
        elseif -(car(carNum,1)-postPoint(1))<2 || postFlag(1)==1 || car(carNum,3)==0
            car(carNum,1) = postPoint(1);
            car(carNum,2) = 1;
            car(carNum,3) = 1;
            postFlag1(1) = 0;
        elseif -(car(carNum,1)-postPoint(2))<2 || postFlag(2)==1 || car(carNum,3)==0
            car(carNum,1) = postPoint(2);
            car(carNum,2) = 1;
            car(carNum,3) = 2;
            postFlaf(2) = 0;
        elseif -(car(carNum,1)-postPoint(3))<2 || postFlag(3)==1 || car(carNum,3)==0
            car(carNum,1) = postPoint(3);
            car(carNum,2) = 1;
            car(carNum,3) = 3
            postFlag(3) = 0;
        elseif postFlag(1)==0&&postFlag(2)==0&&postFlag(3)==0&&((postPoint(1)-car(carNum,1)<2)||(postPoint(2)-car(carNum,1)<2)||(postPoint(3)-car(carNum,1)<2))&&car(carNum,3)==0
            
        elseif Exitcar(car(carNum,:),car)
            
        else
            car(carNum,1) = car(carNum,1) + vGet(car(carNum,:),car);
        end
        
    end
    
    if postFlag(1)==1 || postFlag(2)==1 || postFlag(3)==1
        car = [car;zeros(1,3)];
    end
    
    if passinger <=0
        break;
    end
    
end

\end{lstlisting}

\section{第四问核心代码}
\begin{lstlisting}
%普通司机仿真（其一）
%单独计算一个普通司机工作一天的情况（既有可能接到长途也有可能接到短途）
clc,clear,clf;

timeStart = 8;
timeEnd = 16;

iFlag = 0;    % -1代表候车区候车 0代表接客中 1代表送客中

Tst = 0.003;    % 每一辆车所需要的时间 若前面有x辆车则等Tst*x

earnMoney = 0;    %赚的总钱数

iChange = 1;    % 1表示刚好突变状态 0表示维持原状态

timeList = [];
%仿真前初始化

for time = timeStart:0.001:timeEnd
    %参数获取环节
    [flightPoint,shortTerm,longTerm,shortGet,longGet] = para(time);
    flightPoint = abs(flightPoint);
    
    if iFlag == -1
        if iChange == 1
            iChange = 0;
            waitTime = flightPoint * 20;
            waitFlag = 1000*waitTime;
        else
            if waitFlag < 0
                iChange = 1;
                iFlag = 0;
            else
                waitFlag = waitFlag - 1;
                timeList = [timeList,iFlag];
                plot(time,iFlag,'.r');
                hold on;
                continue;
            end
        end
    elseif iFlag == 0
        if iChange == 1
            iChange = 0;
            waitTime = ceil(rand*100)*Tst;
            waitFlag = 1000*waitTime;
        else
            if waitFlag < 0
                iChange = 1;
                iFlag = 1;
            else
                waitFlag = waitFlag - 1;
                timeList = [timeList,iFlag];
                plot(time,iFlag,'.b');
                hold on;
                continue;
            end
        end
    else
        if iChange == 1
            iChange = 0;
            if rand > 0.5
                waitTime = longTerm;
                waitFlag = 1000*waitTime;
                earnMoney = earnMoney + longGet;
            else
                waitTime = shortTerm;
                waitFlag = 1000*waitTime;
                earnMoney = earnMoney + shortGet;
            end
        else
            if waitFlag < 0
                iChange = 1;
                iFlag = -1;
            else
                waitFlag = waitFlag - 1;
                timeList = [timeList,iFlag];
                plot(time,iFlag,'.g');
                hold on;
                continue;
            end
        end
    end
end

time_1 = 0;
time0 = 0;
time1 = 0;
for i = 1:size(timeList,2)
    if timeList(i)==-1
        time_1 = time_1 + 1;
    elseif timeList(i)==0
        time0 = time0 +1;
    else
        time1 = time1 + 1;
    end
end


\end{lstlisting}



\end{document}


\iffalse     %注释内容
 \begin{enumerate}
	\item {\bfseries ...}
	\item {\bm{$x$}\bfseries ...}
	\item {\bfseries ...}
\end{enumerate}
\fi